Content routing is described in A. Carzaniga, M. J. Rutherford, A. L. Wolf; A routing scheme for content-based networking, Department of Computer Science, University of Colorado, June 2003, the contents of which are herein incorporated by reference.
The field of “Implicit Routing” (or “content routing”) is an emerging networking technology. Implicit routing is the act of forwarding customer data based on the content, rather than a networking header specifying an explicitly addressed destination. A specific form of implicit routing is one which focuses on routing eXtensible Markup Language (XML) documents based on XPath Expressions. For XML, refer to “Extensible Markup Language (XML) 1.0 (Third Edition)”, W3C Recommendation 4 Feb. 2004, W3C (World Wide Web Consortium) and “Extensible Markup Language (XML) 1.1”, W3C Recommendation 15 Apr. 2004, W3C (World Wide Web Consortium). For XPath, refer to “XML Path Language (XPath) Version 1.0”, W3C Recommendation 16 Nov. 1999, W3C (Word Wide Web Consortium). For an XML Content router to function, it must perform the functions of XML parsing, XML filtering and forwarding, and conversion between various XML formats and semantics. Each of these involves a CPU intensive computational algorithm.
A small scale product can perform each of these functions in software. Projected data rates for such a product would be in the 50 to 200 Mbps region. Such a product is suitable for some network tasks; such as firewall/edge routing for a branch plant or small enterprise.
A product with slightly higher data throughput requirements, 1 to 2 Gbps, will require some or all of the parsing, filtering/forwarding, and conversion operations to be performed using some form of hardware acceleration. Such a product is suitable for deployment as an edge router for a corporate headquarters or large enterprise network.
For core networking applications, an XML router must support data rates in the range of 10 to 20 Gbps. To scale to these data rates, the XML router must incorporate multiple data plane forwarding elements, each based upon a HW accelerated data plane. Techniques are required to manage and distribute incoming XML traffic across the forwarding elements, to maximize the throughput of the system.
The products described above, although distinct in their HW architectures, have a common set of software requirements. These are largely identical to those defined for traditional carrier grade products such as Frame Relay or ATM switches, or IP routers. Among those requirements are:                1. Management applications (e.g. Simple Network Management Protocol (SNMP), Command Line Interface (CLI), Web Graphical User Interface (WebGUI))        2. Routing protocols. Examples of content routing protocols are XML Link State Protocol (XLSP) and XML Subscription Management Protocol (XSMP), both of which are components of Implicit Routing Protocol (IRP). Refer to co-filed application Ser. No. 60/530,615, the contents of which are herein incorporated by reference.        3. Security (SSL, authentication, XML filters)        4. Network troubleshooting        5. Performance monitoring.        6. Traffic engineering        7. Node serviceability, reliability and diagnostics.        
To enable all three of the products to support this feature set in a common and cost effective manner, each must be implemented from a common software architecture and code base.